Indigo Materials Scene Generator (IMSG), by Stphane "Hastur" Donz. Free software.

Indigo is a free unbiased render engine by Nicholas "OnoSenda" Chapman (http://www.indigorenderer.com)



Purpose :

The aim of this small tool is to generate test scenes to see the effect of changing some parameters in Indigo's materials definition. You can generate arrays of instanced meshes where, for example, the exponent increases on X axis while IOR inscreases en Y axis.



Installation : 

Recommandation is to copy the exe and the imsg*.xml files in a "Indigo Materials Scene Generator" directory, inside Indigo's one. You can install it elswhere but you'll have to edit paths in the imsg-scene.xml for it to retrieve imsg-mats.xml and imsg-meshes.xml.



First try :

- Launch the .exe, a file named imsg-outfile.igs should appear.
- copy imsg-outfile.igs in Indigo's directory, and launch a render.



Principle :

IMSG reads an element and repeats it as many times in X and Y as user defined in imsg-config.xml. While doing that, it looks for keywords placed in the imsg-element.xml and replaces it by values. The control of these values (starting value and step) is defined in imsg-config.xml.
Finally, IMSG reads imsg-scene.xml (which should contains a scene) and merges the newly created instances, then exports the result in imsg-outfile.igs.

Keywords to be replaced in the imsg-element.xml file are :

- IMSG_OBJ_XVAR and IMSG_OBJ_YVAR : used to set coords of each instance in the array
- IMSG_MAT_XVAR and IMSG_MAT_YVAR : used to make values vary along X and Y axis of the array



Config file example :

<imsg_inifile>
	<instance_repeater>
		<x_start>-0.63</x_start>
		<y_start>-0.45</y_start>
		<x_step>0.14</x_step>
		<y_step>0.1</y_step>
		<x_repeat>10</x_repeat>
		<y_repeat>10</y_repeat>
	</instance_repeater>
	<material_repeater>
		<x_start>0.0</x_start>
		<y_start>1.0</y_start>
		<x_step mode="add">100</x_step>
		<y_step mode="multiply">2</y_step>
	</material_repeater>
</imsg_inifile>

The mesh definition(s) in the imsg-element.xml file will be instanced 10 times along X, starting from coord -0.63 and 10 times along Y, starting from coord -0.45. Each instance will be separated by 0.14 units on X, and 0.1 on Y.
The X value affected to the material will start from 0 and will be incresead by 100 each time.
The Y value affected to the material will start from 1 and will be multiplied by 2 each time.

(NB : there is no step mode for the instance_repeater).



So, finally, the two important files are imsg-config.xml and imsg-element.xml. You'll have to edit both to make tests. However, you can also change imsg-meshes.xml, imsg-mats.xml and imsg-scene.xml if you wish to duplicate your own objects in your own test scene.


Have fun !
Hastur